package com.joker.dynamic.thread.pool.sdk.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * Created By guzq on 2024/10/19
 */
@Data
@ConfigurationProperties(prefix = "dynamic.thread.pool.config", ignoreInvalidFields = true)
public class DynamicThreadPoolAutoConfigAutoProperties {

    /**
     * 是否开启动态线程池  true 开启，false 关闭
     */
    private boolean enable;

    private String host;

    private int port;

    private String password;

    /**
     * 最大连接数 默认为 64
     */
    private int poolSize = 64;

    /**
     * 最小空闲连接数 默认为 10
     */
    private int minIdleSize = 10;

    /**
     * 空闲连接超时时间 默认为 10000毫秒
     */
    private int idleTimeOut = 10000;

    /**
     * 连接超时时间 默认为 10000毫秒
     */
    private int connectTimeOut = 10000;

    /**
     * 连接重试次数 默认为 3次
     */
    private int retryTimes = 3;

    /**
     * 重试时间间隔 默认为 1000毫秒
     */
    private int retryDelay = 1000;

    /**
     * 设置定期检查连接是否可用的时间间隔（单位毫秒），默认为 0，表示不进行定期检查
     */
    private int pingInterval = 0;

    /**
     * 设置是否保持长链接 默认为 true
     */
    private boolean keepAlive = true;

}
